package com.permission.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.permission.entity.SysDept;

public interface SysDeptMapper {
    int insert(SysDept record);

    int insertSelective(SysDept record);

    SysDept selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysDept record);

    int updateByPrimaryKey(SysDept record);

    //批量更新level
    void batchUpdateLevel(@Param("sysDeptList") List<SysDept> sysDeptList);
 
    //查询所有部门
    List<SysDept> getAllDept();

    //根据level的前缀查询部门
	List<SysDept> getChildDeptListByLevel(@Param("level") String level);
	
	//查询部门-用于判断是否有重复
	int countByNameAndParentId(@Param("parentId") Integer parentId, @Param("name") String name, @Param("id") Integer id);

	//根据部门Id获取子部门数量
	int countByParentId(@Param("deptId")Integer deptId);

	//根据部门ID删除部门
	void deleteByPrimaryKey(Integer depId);
}